ActionBar(4) 自定义布局及下拉列表导航 |
您所在的位置:网站首页 › taro 自定义导航 › ActionBar(4) 自定义布局及下拉列表导航 |
public class MainActivity extends ActionBarActivity { private ActionBar actionBar; private Spinner mActionbarSpinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到Bar actionBar = getSupportActionBar(); //设置标题 actionBar.setTitle("Bar例子"); actionBar.setSubtitle("努力!"); //使自定义的普通View能在title栏显示, actionBar.setCustomView能起作用. actionBar.setDisplayShowCustomEnabled(true); //显示虚拟按键 displayVirtualMenuKey(); //下拉列表 initSpinner(); } @SuppressLint("NewApi") @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. //添加菜单项 MenuItem findItem = menu.add(0,1,0,"查找"); MenuItem exitItem = menu.add(0,0,0,"退出"); //绑定到ActionBar findItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); exitItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); return true; } /** * 初始化下拉列表 */ private void initSpinner() { View actionbarLayout = LayoutInflater.from(this).inflate(R.layout.activity_bar, null); mActionbarSpinner = (Spinner) actionbarLayout.findViewById(R.id.action_bar_spinner); //方法一 initSpinnerMethod1(); //方法二 //initSpinnerMethod2(); //事件监听 mActionbarSpinner.setOnItemSelectedListener(new SpinnerItemSelectedListener()); //在Bar上显示定制view actionBar.setCustomView(actionbarLayout); } /** * 建立数据源 方法一 */ private void initSpinnerMethod1() { String[] mItems = getResources().getStringArray(R.array.spinner_page); ArrayAdapter spAdapter = new ArrayAdapter (this,R.layout.support_simple_spinner_dropdown_item,mItems); mActionbarSpinner.setAdapter(spAdapter); } /** * 建立数据源 方法二 */ private void initSpinnerMethod2() { mActionbarSpinner.setAdapter( new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1,getData())); } /** * 下拉列表数据源 * @return */ private List getData(){ List data = new ArrayList(); data.add("A"); data.add("B"); data.add("C"); data.add("D"); return data; } /** * 监听action_bar的spinner item选择事件 */ private class SpinnerItemSelectedListener implements OnItemSelectedListener { @Override public void onItemSelected(AdapterView arg0, View view, int position,long arg3) { String str= arg0.getItemAtPosition(position).toString(); Toast.makeText(MainActivity.this, "你点击的是:"+str, 2000).show(); } @Override public void onNothingSelected(AdapterView arg0) {} } /** * 强制显示虚拟按键 */ private void displayVirtualMenuKey() { //显示虚拟按键即那...点 (4.0后没了菜单键) try { getWindow().addFlags( WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null)); }catch (NoSuchFieldException e) { // Ignore since this field won't exist in most versions of Android }catch (IllegalAccessException e) { Log.w("feelyou.info", "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e); } } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |